package com.wicket.okrcalc.web.contorller;

import cn.hutool.core.bean.BeanUtil;
import com.github.pagehelper.Page;
import com.github.pagehelper.page.PageMethod;
import com.wicket.okrcalc.biz.service.TargetCalcService;
import com.wicket.okrcalc.biz.service.dto.req.*;
import com.wicket.okrcalc.biz.service.dto.res.*;
import com.wicket.okrcalc.common.ro.OkrResult;
import com.wicket.okrcalc.common.util.CommonFunctionHelper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author ：
 * @date ：
 *
 * 
 * @version 1.0
 */
@RestController
@RequestMapping("/calc/targetCalc/")
public class TargetCalcController {

  @Autowired
  TargetCalcService targetCalcService;
/**
   * D4查询计算使用目标标准数据详情(公共)
   */
    @PostMapping("queryCountUseTargetStandardDataDetailCom")
    public OkrResult<QueryCountUseTargetStandardDataDetailComRespDto> queryCountUseTargetStandardDataDetailCom(@RequestBody @Validated QueryCountUseTargetStandardDataDetailComReqDto reqDTO){
    return OkrResult.success(targetCalcService.queryCountUseTargetStandardDataDetailCom(reqDTO));
    }
/**
   * D4查询目标标准数据列表(公共)
   */
    @PostMapping("queryTargetNewStandardDataListCom")
    public OkrResult<QueryTargetNewStandardDataListComRespDto> queryTargetNewStandardDataListCom(@RequestBody @Validated QueryTargetNewStandardDataListComReqDto reqDTO){
    return OkrResult.success(targetCalcService.queryTargetNewStandardDataListCom(reqDTO));
    }
/**
   * D4查询目标标准数据列表By归属周期ID(公共)
   */
    @PostMapping("queryTargetStandardDataCalcListCom")
    public OkrResult<QueryTargetStandardDataCalcListComRespDto> queryTargetStandardDataCalcListCom(@RequestBody @Validated QueryTargetStandardDataCalcListComReqDto reqDTO){
    return OkrResult.success(targetCalcService.queryTargetStandardDataCalcListCom(reqDTO));
    }
/**
   * D4执行单评价角色主观得分(公共)
   */
    @PostMapping("implementSingleEvaRoleSubjectiveScoreCom")
    public OkrResult<ImplementSingleEvaRoleSubjectiveScoreComRespDto> implementSingleEvaRoleSubjectiveScoreCom(@RequestBody @Validated ImplementSingleEvaRoleSubjectiveScoreComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementSingleEvaRoleSubjectiveScoreCom(reqDTO));
    }
/**
   * D4-提交汇报任务标准数据(公共)
   */
    @PostMapping("commitToBeReportedTaskStdDataCom")
    public OkrResult<CommitToBeReportedTaskStdDataComRespDto> commitToBeReportedTaskStdDataCom(@RequestBody @Validated CommitToBeReportedTaskStdDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.commitToBeReportedTaskStdDataCom(reqDTO));
    }
/**
   * D4执行计算主观得分(公共)
   */
    @PostMapping("implementSubjectiveScoreCom")
    public OkrResult<ImplementSubjectiveScoreComRespDto> implementSubjectiveScoreCom(@RequestBody @Validated ImplementSubjectiveScoreComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementSubjectiveScoreCom(reqDTO));
    }
/**
   * D4计算主观得分(公共)
   */
    @PostMapping("calculateSubjectiveScoreCom")
    public OkrResult<CalculateSubjectiveScoreComRespDto> calculateSubjectiveScoreCom(@RequestBody @Validated CalculateSubjectiveScoreComReqDto reqDTO){
    return OkrResult.success(targetCalcService.calculateSubjectiveScoreCom(reqDTO));
    }
/**
   * D4提交主观评分(公共)
   */
    @PostMapping("commitSubjectiveMarkCom")
    public OkrResult<CommitSubjectiveMarkComRespDto> commitSubjectiveMarkCom(@RequestBody @Validated CommitSubjectiveMarkComReqDto reqDTO){
    return OkrResult.success(targetCalcService.commitSubjectiveMarkCom(reqDTO));
    }
/**
   * D4分析增降数据点类型(公共)
   */
    @PostMapping("analysisIncreaseOrDecreaseDataPointTypeCom")
    public OkrResult<AnalysisIncreaseOrDecreaseDataPointTypeComRespDto> analysisIncreaseOrDecreaseDataPointTypeCom(@RequestBody @Validated AnalysisIncreaseOrDecreaseDataPointTypeComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisIncreaseOrDecreaseDataPointTypeCom(reqDTO));
    }
/**
   * D4执行全模板计算标准数据(公共)
   */
    @PostMapping("implementFullTempCountStandardDataCom")
    public OkrResult<ImplementFullTempCountStandardDataComRespDto> implementFullTempCountStandardDataCom(@RequestBody @Validated ImplementFullTempCountStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementFullTempCountStandardDataCom(reqDTO));
    }
/**
   * D4计算数据点增降量与增降幅(公共)
   */
    @PostMapping("calculateDataPointIncDecMeasureAndAmplitudeCom")
    public OkrResult<CalculateDataPointIncDecMeasureAndAmplitudeComRespDto> calculateDataPointIncDecMeasureAndAmplitudeCom(@RequestBody @Validated CalculateDataPointIncDecMeasureAndAmplitudeComReqDto reqDTO){
    return OkrResult.success(targetCalcService.calculateDataPointIncDecMeasureAndAmplitudeCom(reqDTO));
    }
/**
   * D4分析目标得分条件模型(公共)
   */
    @PostMapping("analysisTargetScoreConditionModelCom")
    public OkrResult<AnalysisTargetScoreConditionModelComRespDto> analysisTargetScoreConditionModelCom(@RequestBody @Validated AnalysisTargetScoreConditionModelComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisTargetScoreConditionModelCom(reqDTO));
    }
/**
   * D4分析OKR树实际值向左计算条件模型(公共)
   */
    @PostMapping("analysisOkrTreeActualValueRightClacConditionalModelCom")
    public OkrResult<AnalysisOkrTreeActualValueRightClacConditionalModelComRespDto> analysisOkrTreeActualValueRightClacConditionalModelCom(@RequestBody @Validated AnalysisOkrTreeActualValueRightClacConditionalModelComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisOkrTreeActualValueRightClacConditionalModelCom(reqDTO));
    }
/**
   * D4分析OKR树实际值人工汇报条件模型(公共)
   */
    @PostMapping("analysisOkrTreeActualValueManualConditionalModelCom")
    public OkrResult<AnalysisOkrTreeActualValueManualConditionalModelComRespDto> analysisOkrTreeActualValueManualConditionalModelCom(@RequestBody @Validated AnalysisOkrTreeActualValueManualConditionalModelComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisOkrTreeActualValueManualConditionalModelCom(reqDTO));
    }
/**
   * D4分析OKR树实际值系统对接(公共)
   */
    @PostMapping("analysisOkrTreeActualValueSystemDockCom")
    public OkrResult<AnalysisOkrTreeActualValueSystemDockComRespDto> analysisOkrTreeActualValueSystemDockCom(@RequestBody @Validated AnalysisOkrTreeActualValueSystemDockComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisOkrTreeActualValueSystemDockCom(reqDTO));
    }
/**
   * D4分析OKR树目标得分条件模型(公共)
   */
    @PostMapping("analysisOkrTreeTargetScoreConditionModelCom")
    public OkrResult<AnalysisOkrTreeTargetScoreConditionModelComRespDto> analysisOkrTreeTargetScoreConditionModelCom(@RequestBody @Validated AnalysisOkrTreeTargetScoreConditionModelComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisOkrTreeTargetScoreConditionModelCom(reqDTO));
    }
/**
   * D4分析绩效得分条件模型(公共)
   */
    @PostMapping("analysisPerformanceTargetScoreConditionModeCom")
    public OkrResult<AnalysisPerformanceTargetScoreConditionModeComRespDto> analysisPerformanceTargetScoreConditionModeCom(@RequestBody @Validated AnalysisPerformanceTargetScoreConditionModeComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisPerformanceTargetScoreConditionModeCom(reqDTO));
    }
/**
   * D4分析OKR部门克隆OKR个人树得分条件模型(公共)
   */
    @PostMapping("analysisOkrDeptScoreCloneOkrPersonalConditionalModelCom")
    public OkrResult<AnalysisOkrDeptScoreCloneOkrPersonalConditionalModelComRespDto> analysisOkrDeptScoreCloneOkrPersonalConditionalModelCom(@RequestBody @Validated AnalysisOkrDeptScoreCloneOkrPersonalConditionalModelComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisOkrDeptScoreCloneOkrPersonalConditionalModelCom(reqDTO));
    }
/**
   * D4分析绩效实际值条件模型(公共)
   */
    @PostMapping("analysisPerformanceActualValuesConditionModeCom")
    public OkrResult<AnalysisPerformanceActualValuesConditionModeComRespDto> analysisPerformanceActualValuesConditionModeCom(@RequestBody @Validated AnalysisPerformanceActualValuesConditionModeComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisPerformanceActualValuesConditionModeCom(reqDTO));
    }

/**
   * D4执行评价对象树当前与上级公式计算(公共)
   */
    @PostMapping("implementEvaObjCurrentAndSupCountFormulasCom")
    public OkrResult<ImplementEvaObjCurrentAndSupCountFormulasComRespDto> implementEvaObjCurrentAndSupCountFormulasCom(@RequestBody @Validated ImplementEvaObjCurrentAndSupCountFormulasComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementEvaObjCurrentAndSupCountFormulasCom(reqDTO));
    }

/**
   * D4更新绩效全模板计算公式(公共)
   */
    @PostMapping("refreshPerfFullTempCountFormulasCom")
    public OkrResult<RefreshPerfFullTempCountFormulasComRespDto> refreshPerfFullTempCountFormulasCom(@RequestBody @Validated RefreshPerfFullTempCountFormulasComReqDto reqDTO){
    return OkrResult.success(targetCalcService.refreshPerfFullTempCountFormulasCom(reqDTO));
    }
/**
   * D4执行全模板OKR树计算公式(公共)
   */
    @PostMapping("implementFullTempOkrTreeCalcFormulasCom")
    public OkrResult<ImplementFullTempOkrTreeCalcFormulasComRespDto> implementFullTempOkrTreeCalcFormulasCom(@RequestBody @Validated ImplementFullTempOkrTreeCalcFormulasComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementFullTempOkrTreeCalcFormulasCom(reqDTO));
    }


/**
   * D4执行全模板计算公式(公共)
   */
    @PostMapping("implementFullTempCalcFormulaCom")
    public OkrResult<ImplementFullTempCalcFormulaComRespDto> implementFullTempCalcFormulaCom(@RequestBody @Validated ImplementFullTempCalcFormulaComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementFullTempCalcFormulaCom(reqDTO));
    }

/**
   * D4执行绩效全模板计算公式(公共)
   */
    @PostMapping("implementPerfFullTempCountFormulasCom")
    public OkrResult<ImplementPerfFullTempCountFormulasComRespDto> implementPerfFullTempCountFormulasCom(@RequestBody @Validated ImplementPerfFullTempCountFormulasComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementPerfFullTempCountFormulasCom(reqDTO));
    }
/**
   * D4执行目标周期部门成果统计-规划
   */
    @PostMapping("statisticsDeptTargetCycleCycleAchievementNumsCom")
    public OkrResult<StatisticsDeptTargetCycleCycleAchievementNumsComRespDto> statisticsDeptTargetCycleCycleAchievementNumsCom(@RequestBody @Validated StatisticsDeptTargetCycleCycleAchievementNumsComReqDto reqDTO){
    return OkrResult.success(targetCalcService.statisticsDeptTargetCycleCycleAchievementNumsCom(reqDTO));
    }
/**
   * D4执行绩效成果统计-被评对象
   */
    @PostMapping("implementPerfAchievementStatisticsCom")
    public OkrResult<ImplementPerfAchievementStatisticsComRespDto> implementPerfAchievementStatisticsCom(@RequestBody @Validated ImplementPerfAchievementStatisticsComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementPerfAchievementStatisticsCom(reqDTO));
    }

/**
   * D4执行查询并删除标准数据(公共)
   */
    @PostMapping("implementStandardDataCom")
    public OkrResult<ImplementStandardDataComRespDto> implementStandardDataCom(@RequestBody @Validated ImplementStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementStandardDataCom(reqDTO));
    }
/**
   * D4查询目标内容汇报任务多数据点(公共)
   */
    @PostMapping("queryReportTargetTaskMajorityPointDatasDetailCom")
    public OkrResult<QueryReportTargetTaskMajorityPointDatasDetailComRespDto> queryReportTargetTaskMajorityPointDatasDetailCom(@RequestBody @Validated QueryReportTargetTaskMajorityPointDatasDetailComReqDto reqDTO){
    return OkrResult.success(targetCalcService.queryReportTargetTaskMajorityPointDatasDetailCom(reqDTO));
    }
/**
   * D4提交不同归属周期标准数据(公共)
   */
    @PostMapping("commitDiffAttributionCycleStdDataCom")
    public OkrResult<CommitDiffAttributionCycleStdDataComRespDto> commitDiffAttributionCycleStdDataCom(@RequestBody @Validated CommitDiffAttributionCycleStdDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.commitDiffAttributionCycleStdDataCom(reqDTO));
    }
/**
   * D4克隆进度值实际值等(公共)
   */
    @PostMapping("implementCloneProgressActualValueEtcCom")
    public OkrResult<ImplementCloneProgressActualValueEtcComRespDto> implementCloneProgressActualValueEtcCom(@RequestBody @Validated ImplementCloneProgressActualValueEtcComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementCloneProgressActualValueEtcCom(reqDTO));
    }
/**
   * D4新增主观评分或主观得分标准数据(公共)
   */
    @PostMapping("addSubjectiveRatingOrSubjectiveScoreStandardDataCom")
    public OkrResult<AddSubjectiveRatingOrSubjectiveScoreStandardDataComRespDto> addSubjectiveRatingOrSubjectiveScoreStandardDataCom(@RequestBody @Validated AddSubjectiveRatingOrSubjectiveScoreStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.addSubjectiveRatingOrSubjectiveScoreStandardDataCom(reqDTO));
    }
/**
   * D4分析汇报任务评价是否完成(公共)
   */
    @PostMapping("analysisReportTaskEvaIsCompleteCom")
    public OkrResult<AnalysisReportTaskEvaIsCompleteComRespDto> analysisReportTaskEvaIsCompleteCom(@RequestBody @Validated AnalysisReportTaskEvaIsCompleteComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisReportTaskEvaIsCompleteCom(reqDTO));
    }
/**
   * D4执行当前内容计算目标标准数据(公共)
   */
    @PostMapping("implementCurrentTargetBelongCycleCountFormulasCom")
    public OkrResult<ImplementCurrentTargetBelongCycleCountFormulasComRespDto> implementCurrentTargetBelongCycleCountFormulasCom(@RequestBody @Validated ImplementCurrentTargetBelongCycleCountFormulasComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementCurrentTargetBelongCycleCountFormulasCom(reqDTO));
    }
/**
   * D4查询KR汇报任务多数据点(公共)
   */
    @PostMapping("queryKrReportTaskMajorityPointDatasDetailCom")
    public OkrResult<QueryKrReportTaskMajorityPointDatasDetailComRespDto> queryKrReportTaskMajorityPointDatasDetailCom(@RequestBody @Validated QueryKrReportTaskMajorityPointDatasDetailComReqDto reqDTO){
    return OkrResult.success(targetCalcService.queryKrReportTaskMajorityPointDatasDetailCom(reqDTO));
    }
/**
   * D4审核汇报标准数据(公共)
   */
    @PostMapping("approveReportStandardDataCom")
    public OkrResult<ApproveReportStandardDataComRespDto> approveReportStandardDataCom(@RequestBody @Validated ApproveReportStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.approveReportStandardDataCom(reqDTO));
    }
/**
   * D4更新汇报及相关标准数据(公共)
   */
    @PostMapping("refreshReportAndRelateStandardDataCom")
    public OkrResult<RefreshReportAndRelateStandardDataComRespDto> refreshReportAndRelateStandardDataCom(@RequestBody @Validated RefreshReportAndRelateStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.refreshReportAndRelateStandardDataCom(reqDTO));
    }
/**
   * D4分析目标达成情况数据点(公共)
   */
    @PostMapping("analysisTargetAchievementDataPointCom")
    public OkrResult<AnalysisTargetAchievementDataPointComRespDto> analysisTargetAchievementDataPointCom(@RequestBody @Validated AnalysisTargetAchievementDataPointComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisTargetAchievementDataPointCom(reqDTO));
    }
/**
   * D4执行清理汇报任务标准数据(公共)
   */
    @PostMapping("implementClearReportTaskStandardDataCom")
    public OkrResult<ImplementClearReportTaskStandardDataComRespDto> implementClearReportTaskStandardDataCom(@RequestBody @Validated ImplementClearReportTaskStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementClearReportTaskStandardDataCom(reqDTO));
    }
/**
   * D4更新单张牌计算公式(公共)
   */
    @PostMapping("refreshSingleCardCountFormulasCom")
    public OkrResult<RefreshSingleCardCountFormulasComRespDto> refreshSingleCardCountFormulasCom(@RequestBody @Validated RefreshSingleCardCountFormulasComReqDto reqDTO){
    return OkrResult.success(targetCalcService.refreshSingleCardCountFormulasCom(reqDTO));
    }
/**
   * D4获取下级目标周期数据点标准数据(公共)
   */
    @PostMapping("obtainLowTargetCycleDataPointStandardDataCom")
    public OkrResult<ObtainLowTargetCycleDataPointStandardDataComRespDto> obtainLowTargetCycleDataPointStandardDataCom(@RequestBody @Validated ObtainLowTargetCycleDataPointStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.obtainLowTargetCycleDataPointStandardDataCom(reqDTO));
    }
/**
   * D4查询主树目标标准数据详情(公共)
   */
    @PostMapping("queryMainTreeTargetBelongCycleDetailCom")
    public OkrResult<QueryMainTreeTargetBelongCycleDetailComRespDto> queryMainTreeTargetBelongCycleDetailCom(@RequestBody @Validated QueryMainTreeTargetBelongCycleDetailComReqDto reqDTO){
    return OkrResult.success(targetCalcService.queryMainTreeTargetBelongCycleDetailCom(reqDTO));
    }
/**
   * D4获取最近可循环周期类型的周期数据点(公共)
   */
    @PostMapping("obtainRecentCycleDataPointCom")
    public OkrResult<ObtainRecentCycleDataPointComRespDto> obtainRecentCycleDataPointCom(@RequestBody @Validated ObtainRecentCycleDataPointComReqDto reqDTO){
    return OkrResult.success(targetCalcService.obtainRecentCycleDataPointCom(reqDTO));
    }
/**
   * D4获取最近可循环周期数据点最新标准数据(公共)
   */
    @PostMapping("obtainRecentCycleNewCycleDataPointCom")
    public OkrResult<ObtainRecentCycleNewCycleDataPointComRespDto> obtainRecentCycleNewCycleDataPointCom(@RequestBody @Validated ObtainRecentCycleNewCycleDataPointComReqDto reqDTO){
    return OkrResult.success(targetCalcService.obtainRecentCycleNewCycleDataPointCom(reqDTO));
    }
/**
   * D4执行向左标准数据求和(公共)
   */
    @PostMapping("implementSumLeftStandardDataCom")
    public OkrResult<ImplementSumLeftStandardDataComRespDto> implementSumLeftStandardDataCom(@RequestBody @Validated ImplementSumLeftStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementSumLeftStandardDataCom(reqDTO));
    }
/**
   * D4执行向左标准数据求平均(公共)
   */
    @PostMapping("implementAverageLeftStandardDataCom")
    public OkrResult<ImplementAverageLeftStandardDataComRespDto> implementAverageLeftStandardDataCom(@RequestBody @Validated ImplementAverageLeftStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementAverageLeftStandardDataCom(reqDTO));
    }
/**
   * D4执行向下标准数据求和(公共)
   */
    @PostMapping("implementSumOfDownwardStandardDataCom")
    public OkrResult<ImplementSumOfDownwardStandardDataComRespDto> implementSumOfDownwardStandardDataCom(@RequestBody @Validated ImplementSumOfDownwardStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementSumOfDownwardStandardDataCom(reqDTO));
    }
/**
   * D4执行向下标准数据权重求和(公共)
   */
    @PostMapping("implementSumOfDownwardStandardDataWeightsCom")
    public OkrResult<ImplementSumOfDownwardStandardDataWeightsComRespDto> implementSumOfDownwardStandardDataWeightsCom(@RequestBody @Validated ImplementSumOfDownwardStandardDataWeightsComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementSumOfDownwardStandardDataWeightsCom(reqDTO));
    }
/**
   * D4执行进度值向下权重求和(公共)
   */
    @PostMapping("implementSumOfProgressValuesWithDownWeightsCom")
    public OkrResult<ImplementSumOfProgressValuesWithDownWeightsComRespDto> implementSumOfProgressValuesWithDownWeightsCom(@RequestBody @Validated ImplementSumOfProgressValuesWithDownWeightsComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementSumOfProgressValuesWithDownWeightsCom(reqDTO));
    }
/**
   * D4执行实际值向下求和(公共)
   */
    @PostMapping("implementSumActualValuesDownCom")
    public OkrResult<ImplementSumActualValuesDownComRespDto> implementSumActualValuesDownCom(@RequestBody @Validated ImplementSumActualValuesDownComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementSumActualValuesDownCom(reqDTO));
    }
/**
   * D4克隆评价对象树进度值(公共)
   */
    @PostMapping("cloneEvaObjTreeProgressValueCom")
    public OkrResult<CloneEvaObjTreeProgressValueComRespDto> cloneEvaObjTreeProgressValueCom(@RequestBody @Validated CloneEvaObjTreeProgressValueComReqDto reqDTO){
    return OkrResult.success(targetCalcService.cloneEvaObjTreeProgressValueCom(reqDTO));
    }
/**
   * D4向左取最近可循环周期最新进度值(公共)
   */
    @PostMapping("cloneRecentRecyclableLatestProgressValueCom")
    public OkrResult<CloneRecentRecyclableLatestProgressValueComRespDto> cloneRecentRecyclableLatestProgressValueCom(@RequestBody @Validated CloneRecentRecyclableLatestProgressValueComReqDto reqDTO){
    return OkrResult.success(targetCalcService.cloneRecentRecyclableLatestProgressValueCom(reqDTO));
    }

/**
   * D4执行计算向左实际值(公共)
   */
    @PostMapping("implementCountLeftActualValueCom")
    public OkrResult<ImplementCountLeftActualValueComRespDto> implementCountLeftActualValueCom(@RequestBody @Validated ImplementCountLeftActualValueComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementCountLeftActualValueCom(reqDTO));
    }
/**
   * D4准备目标得分因子(公共)
   */
    @PostMapping("preparationTargetScoreFactorsCom")
    public OkrResult<PreparationTargetScoreFactorsComRespDto> preparationTargetScoreFactorsCom(@RequestBody @Validated PreparationTargetScoreFactorsComReqDto reqDTO){
    return OkrResult.success(targetCalcService.preparationTargetScoreFactorsCom(reqDTO));
    }
/**
   * D4计算过程中期数据点最新标准数据(公共)
   */
    @PostMapping("calculateMidProcessCycleNewDataPointCom")
    public OkrResult<CalculateMidProcessCycleNewDataPointComRespDto> calculateMidProcessCycleNewDataPointCom(@RequestBody @Validated CalculateMidProcessCycleNewDataPointComReqDto reqDTO){
    return OkrResult.success(targetCalcService.calculateMidProcessCycleNewDataPointCom(reqDTO));
    }
/**
   * D4执行计算目标得分(公共)
   */
    @PostMapping("implementCalcTargetScoreCom")
    public OkrResult<ImplementCalcTargetScoreComRespDto> implementCalcTargetScoreCom(@RequestBody @Validated ImplementCalcTargetScoreComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementCalcTargetScoreCom(reqDTO));
    }
/**
   * D4执行克隆目标分换算新得分(公共)
   */
    @PostMapping("implementCloneTargetScoreConvertNewScoreCom")
    public OkrResult<ImplementCloneTargetScoreConvertNewScoreComRespDto> implementCloneTargetScoreConvertNewScoreCom(@RequestBody @Validated ImplementCloneTargetScoreConvertNewScoreComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementCloneTargetScoreConvertNewScoreCom(reqDTO));
    }
/**
   * D4更新绩效单张牌计算公式(公共)
   */
    @PostMapping("refreshPerfSingleCardCountFormulasCom")
    public OkrResult<RefreshPerfSingleCardCountFormulasComRespDto> refreshPerfSingleCardCountFormulasCom(@RequestBody @Validated RefreshPerfSingleCardCountFormulasComReqDto reqDTO){
    return OkrResult.success(targetCalcService.refreshPerfSingleCardCountFormulasCom(reqDTO));
    }
/**
   * D4执行OKR树单张牌计算公式(公共)
   */
    @PostMapping("implementOkrTreeSingleCountFormulasCom")
    public OkrResult<ImplementOkrTreeSingleCountFormulasComRespDto> implementOkrTreeSingleCountFormulasCom(@RequestBody @Validated ImplementOkrTreeSingleCountFormulasComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementOkrTreeSingleCountFormulasCom(reqDTO));
    }

/**
   * D4判断目标得分因子权重100
   */
    @PostMapping("judgeTargetScoreFactorsCom")
    public OkrResult<JudgeTargetScoreFactorsComRespDto> judgeTargetScoreFactorsCom(@RequestBody @Validated JudgeTargetScoreFactorsComReqDto reqDTO){
    return OkrResult.success(targetCalcService.judgeTargetScoreFactorsCom(reqDTO));
    }
/**
   * D4分析是否进入计算目标得分(公共)
   */
    @PostMapping("analysisCalcTargetScoreCom")
    public OkrResult<AnalysisCalcTargetScoreComRespDto> analysisCalcTargetScoreCom(@RequestBody @Validated AnalysisCalcTargetScoreComReqDto reqDTO){
    return OkrResult.success(targetCalcService.analysisCalcTargetScoreCom(reqDTO));
    }





/**
   * D4获取向下标准数据权重求和(公共)
   */
    @PostMapping("obtainSumOfDownwardStandardDataWeightsCom")
    public OkrResult<ObtainSumOfDownwardStandardDataWeightsComRespDto> obtainSumOfDownwardStandardDataWeightsCom(@RequestBody @Validated ObtainSumOfDownwardStandardDataWeightsComReqDto reqDTO){
    return OkrResult.success(targetCalcService.obtainSumOfDownwardStandardDataWeightsCom(reqDTO));
    }
/**
   * D4回写目标标准数据是否最新(公共)
   */
    @PostMapping("writeBackTargetStandardDataCom")
    public OkrResult<WriteBackTargetStandardDataComRespDto> writeBackTargetStandardDataCom(@RequestBody @Validated WriteBackTargetStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.writeBackTargetStandardDataCom(reqDTO));
    }
/**
   * D4执行克隆主树目标得分计算达成度(公共)
   */
    @PostMapping("implementCloneMianTreeScoreCalcReachCom")
    public OkrResult<ImplementCloneMianTreeScoreCalcReachComRespDto> implementCloneMianTreeScoreCalcReachCom(@RequestBody @Validated ImplementCloneMianTreeScoreCalcReachComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementCloneMianTreeScoreCalcReachCom(reqDTO));
    }

/**
   * D4执行主客观数据校验(公共)
   */
    @PostMapping("implementSubAndObjectiveDataCheckCom")
    public OkrResult<ImplementSubAndObjectiveDataCheckComRespDto> implementSubAndObjectiveDataCheckCom(@RequestBody @Validated ImplementSubAndObjectiveDataCheckComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementSubAndObjectiveDataCheckCom(reqDTO));
    }
/**
   * D4执行最近平均分数据校验(公共)
   */
    @PostMapping("implementRecentAverageScoreDataCheckCom")
    public OkrResult<ImplementRecentAverageScoreDataCheckComRespDto> implementRecentAverageScoreDataCheckCom(@RequestBody @Validated ImplementRecentAverageScoreDataCheckComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementRecentAverageScoreDataCheckCom(reqDTO));
    }
/**
   * D4执行过程中期数据校验(公共)
   */
    @PostMapping("implementMidProcessDataCheckCom")
    public OkrResult<ImplementMidProcessDataCheckComRespDto> implementMidProcessDataCheckCom(@RequestBody @Validated ImplementMidProcessDataCheckComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementMidProcessDataCheckCom(reqDTO));
    }
/**
   * D4执行中期数据校验(公共)
   */
    @PostMapping("implementMidDataCheckCom")
    public OkrResult<ImplementMidDataCheckComRespDto> implementMidDataCheckCom(@RequestBody @Validated ImplementMidDataCheckComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementMidDataCheckCom(reqDTO));
    }
/**
   * D4执行下级数据校验(公共)
   */
    @PostMapping("implementLowDataCheckCom")
    public OkrResult<ImplementLowDataCheckComRespDto> implementLowDataCheckCom(@RequestBody @Validated ImplementLowDataCheckComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementLowDataCheckCom(reqDTO));
    }
/**
   * D4执行其他树计算得分达成度(公共)
   */
    @PostMapping("implementOtherTreeCalcScoreReachCom")
    public OkrResult<ImplementOtherTreeCalcScoreReachComRespDto> implementOtherTreeCalcScoreReachCom(@RequestBody @Validated ImplementOtherTreeCalcScoreReachComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementOtherTreeCalcScoreReachCom(reqDTO));
    }
/**
   * D4更新其他树单张牌计算公式(公共)
   */
    @PostMapping("refreshOtherTreeSingleCardCountFormulasCom")
    public OkrResult<RefreshOtherTreeSingleCardCountFormulasComRespDto> refreshOtherTreeSingleCardCountFormulasCom(@RequestBody @Validated RefreshOtherTreeSingleCardCountFormulasComReqDto reqDTO){
    return OkrResult.success(targetCalcService.refreshOtherTreeSingleCardCountFormulasCom(reqDTO));
    }
/**
   * D4计算目标完成数与完成率（包含更新目标达成情况）
   */
    @PostMapping("refreshGoalAchieveStatusCom")
    public OkrResult<RefreshGoalAchieveStatusComRespDto> refreshGoalAchieveStatusCom(@RequestBody @Validated RefreshGoalAchieveStatusComReqDto reqDTO){
    return OkrResult.success(targetCalcService.refreshGoalAchieveStatusCom(reqDTO));
    }
/**
   * D4执行当前或祖先内容计算目标标准数据(公共)
   */
    @PostMapping("implementCurOrAncestorContentCalcStandardDataCom")
    public OkrResult<ImplementCurOrAncestorContentCalcStandardDataComRespDto> implementCurOrAncestorContentCalcStandardDataCom(@RequestBody @Validated ImplementCurOrAncestorContentCalcStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementCurOrAncestorContentCalcStandardDataCom(reqDTO));
    }
/**
   * D4执行计算当前及祖先规划标准数据(公共)
   */
    @PostMapping("implementCalcCurAndAncestorPlanStandardDataCom")
    public OkrResult<ImplementCalcCurAndAncestorPlanStandardDataComRespDto> implementCalcCurAndAncestorPlanStandardDataCom(@RequestBody @Validated ImplementCalcCurAndAncestorPlanStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementCalcCurAndAncestorPlanStandardDataCom(reqDTO));
    }
/**
   * D4更新当前及祖先汇报相关标准数据(公共)
   */
    @PostMapping("refreshCurAndAncestorReportRelateStandardDataCom")
    public OkrResult<RefreshCurAndAncestorReportRelateStandardDataComRespDto> refreshCurAndAncestorReportRelateStandardDataCom(@RequestBody @Validated RefreshCurAndAncestorReportRelateStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.refreshCurAndAncestorReportRelateStandardDataCom(reqDTO));
    }
/**
   * D4执行排队计算当前或祖先内容目标标准数据(公共)
   */
    @PostMapping("implementQueueCalcCurOrAnceContentStandardDataCom")
    public OkrResult<ImplementQueueCalcCurOrAnceContentStandardDataComRespDto> implementQueueCalcCurOrAnceContentStandardDataCom(@RequestBody @Validated ImplementQueueCalcCurOrAnceContentStandardDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementQueueCalcCurOrAnceContentStandardDataCom(reqDTO));
    }
/**
   * D4执行公共评价模板配置数据（CALC推内存）(公共)
   */
    @PostMapping("implementCommonEvaTempConfDataCalcCom")
    public OkrResult<ImplementCommonEvaTempConfDataCalcComRespDto> implementCommonEvaTempConfDataCalcCom(@RequestBody @Validated ImplementCommonEvaTempConfDataCalcComReqDto reqDTO){
    return OkrResult.success(targetCalcService.implementCommonEvaTempConfDataCalcCom(reqDTO));
    }
/**
   * D4查询目标归属周期详情(跨)
   */
    @PostMapping("queryTargetBelongCycleDetailNewCom")
    public OkrResult<QueryTargetBelongCycleDetailNewComRespDto> queryTargetBelongCycleDetailNewCom(@RequestBody @Validated QueryTargetBelongCycleDetailNewComReqDto reqDTO){
    return OkrResult.success(targetCalcService.queryTargetBelongCycleDetailNewCom(reqDTO));
    }
/**
   * D4查询当前及祖先列表(公共)
   */
    @PostMapping("queryCurAndAncestorListNewCom")
    public OkrResult<QueryCurAndAncestorListNewComRespDto> queryCurAndAncestorListNewCom(@RequestBody @Validated QueryCurAndAncestorListNewComReqDto reqDTO){
    return OkrResult.success(targetCalcService.queryCurAndAncestorListNewCom(reqDTO));
    }
/**
   * D4查询数据计算业务配置（内存）
   */
    @PostMapping("queryDataCalcBusinessConfSetDetailCom")
    public OkrResult<QueryDataCalcBusinessConfSetDetailComRespDto> queryDataCalcBusinessConfSetDetailCom(@RequestBody @Validated QueryDataCalcBusinessConfSetDetailComReqDto reqDTO){
    return OkrResult.success(targetCalcService.queryDataCalcBusinessConfSetDetailCom(reqDTO));
    }
/**
   * D4准备目标归属周期数据(同体取小)(跨)
   */
    @PostMapping("queryPrepareTargetBelongCycleDataDetailCom")
    public OkrResult<QueryPrepareTargetBelongCycleDataDetailComRespDto> queryPrepareTargetBelongCycleDataDetailCom(@RequestBody @Validated QueryPrepareTargetBelongCycleDataDetailComReqDto reqDTO){
    return OkrResult.success(targetCalcService.queryPrepareTargetBelongCycleDataDetailCom(reqDTO));
    }
/**
   * D4循环审核汇报任务并计算当前及祖先标准数据(公共)
   */
    @PostMapping("cycleCalculateExaReportTaskAndCalcCurAndAnceStdDataCom")
    public OkrResult<CycleCalculateExaReportTaskAndCalcCurAndAnceStdDataComRespDto> cycleCalculateExaReportTaskAndCalcCurAndAnceStdDataCom(@RequestBody @Validated CycleCalculateExaReportTaskAndCalcCurAndAnceStdDataComReqDto reqDTO){
    return OkrResult.success(targetCalcService.cycleCalculateExaReportTaskAndCalcCurAndAnceStdDataCom(reqDTO));
    }


}
